SSRF
是一種 Web 安全漏洞,允許攻擊者導致伺服器端應用程式向非預期位置
發出請求。
在典型的 SSRF
攻擊中,攻擊者可能會導致伺服器連接到組織架構內的僅供內部使用的服務
。
在其他情況下,他們可能能夠強制伺服器連接到任意外部系統
-> 這樣可能會洩露敏感數據,例如授權憑證。
那麼,SSRF 攻擊通常是透過什麼方式來 強制伺服器連接到任意外部系統
的呢?
通常會利用 信任關係
來 升級易受攻擊的應用程式
的攻擊並 執行未經授權的操作
:
-> 藉由一個與目標 Server 有信任關係的中介伺服器端
來執行未經授權的操作。
以下是大致上的示意圖:
中介 Server (中介伺服器端)
和 目標 Server (目標伺服器端)
因為存在信賴關係 (例如: 彼此是內網連接,沒有特別防範或是防範較弱,沒有需要特別驗證),就有可能讓有心之人的偽造請求透過這個中介伺服器而間接取得了目標伺服器的信任
。
簡單介紹完 SSRF 後,此處來介紹 Open Redirects 和 SSRF 之間的關係。
透過 SSRF,攻擊者可以進入目標 server 並透過他的信任
接觸到內網中只有允許同 domain request 的其他 Service
-> 此時若有發現有 url 有 Open Redirects 的漏洞,攻擊者可以利用漏洞讓接觸到的 service 造訪該信任 domain 開頭的 url + redirect 到可以看光光資料的 url
假設該服務信任 https://your_website.com ,加上有 redirect 漏洞的 url 例如 http://127.0.0.1 ,那麼就傳入以下網址讓該服務去造訪,就有可能看到資料。
https://your_website.com?redirect=http://127.0.0.1
在介紹完 Open Redirects + SSRF 的關係後,回歸到要如何防禦 Open Redirects :
等等..
有關細節可以回顧前兩篇文章~
最近在嘗試每天學會感激,並且每天激勵自己心情不好還是要好好寫文章且保持學習習慣~
很感謝自己參加了 it 鐵人賽,雖然每日要處理的事情很多,但還是透過這個比賽更督促自己學習,也看到了很多自己的不足,繼續努力!